home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ietf / urn / urn-archives / urn-ietf.archive.9608 / 000001_owner-urn-ietf _Thu Aug 1 19:26:40 1996.msg < prev    next >
Internet Message Format  |  1997-02-19  |  5KB

  1. Received: (from daemon@localhost) by services.bunyip.com (8.6.10/8.6.9) id TAA23060 for urn-ietf-out; Thu, 1 Aug 1996 19:26:40 -0400
  2. Received: from mocha.bunyip.com (mocha.Bunyip.Com [192.197.208.1]) by services.bunyip.com (8.6.10/8.6.9) with SMTP id TAA23055 for <urn-ietf@services.bunyip.com>; Thu, 1 Aug 1996 19:26:38 -0400
  3. Received: from mintaka.lcs.mit.edu by mocha.bunyip.com with SMTP (5.65a/IDA-1.4.2b/CC-Guru-2b)
  4.         id AA23200  (mail destined for urn-ietf@services.bunyip.com); Thu, 1 Aug 96 19:26:36 -0400
  5. Received: from skadhwe.lcs.mit.edu by MINTAKA.LCS.MIT.EDU id aa28939;
  6.           1 Aug 96 19:25 EDT
  7. Received: by skadhwe.lcs.mit.edu; (5.65/1.1.8.2/15Aug95-0306PM)
  8.     id AA09843; Thu, 1 Aug 1996 19:25:10 -0400
  9. Date: Thu, 1 Aug 1996 19:25:10 -0400
  10. Message-Id: <9608012325.AA09843@skadhwe.lcs.mit.edu>
  11. From: Lewis Girod <girod@LCS.MIT.EDU>
  12. To: rdaniel@acl.lanl.gov
  13. Cc: urn-ietf@bunyip.com
  14. In-Reply-To: <2.2.32.19960708184016.006ecac4@acl.lanl.gov> (message from Ron
  15.     Daniel on Mon, 08 Jul 1996 12:40:16 -0600)
  16. Subject: Re: [URN] nasty rewriting rules
  17. Sender: owner-urn-ietf@services.bunyip.com
  18. Precedence: bulk
  19. Reply-To: Lewis Girod <girod@LCS.MIT.EDU>
  20. Errors-To: owner-urn-ietf@bunyip.com
  21.  
  22. Hi,
  23.  
  24. This message is in response to a thread started a long time ago by
  25. Ron, namely, what about rewrite rules?  I have this idea that the
  26. client side of the NAPTR system that currently uses the rewrite rules
  27. can be replaced by a two-step process which gives a better modularity
  28. and will make the data in the system easier to deal with (as well as
  29. making the creation of name scheme security policies much simpler.)
  30.  
  31. The idea here is to divide the problem into two halves; first, put the
  32. URN into a canonical form in which the direction of hierarchy is
  33. fixed.  For example, the domain name in
  34.  
  35.     http://lcs.mit.edu/girod/paper.ps 
  36.  
  37. would need to be reversed so that the hierarchy goes from biggest on
  38. the left to smallest on the right:
  39.  
  40.     http://edu.mit.lcs/girod/paper.ps
  41.  
  42. Once the URN is in canonical form, the actual resolution process can
  43. begin.  Because the hard part of sorting out the URN has already been
  44. done in the initial canonicalization phase, the rest of the resolution
  45. can be done using some very simple rules.  These rules are very
  46. constrained in comparison to the unconstrained rewrite rules; they
  47. operate only by taking parts off the left hand side of the canonical
  48. string, and can either copy that data verbatim or replace it with a
  49. specific string.  However, it appears that most stuff we want to do
  50. can be done this way.
  51.  
  52. If such a scheme can work, there are two main benefits to the new
  53. modularity: (1) the vast majority of the data driving the resolution
  54. process is in a simplified and standardized form, which is easier to
  55. check and understand because there is less flexibility and because the
  56. hard stuff is done once at the beginning, (2) the format of the name
  57. scheme is specified at the top and deviation from this format is more
  58. difficult because of the restrictions placed on rules below the
  59. initial translation.
  60.  
  61. I have invented two small languages (a translation language and a rule
  62. language) and written up a document that explains them and gives
  63. examples of how they can be used to do everything I could think of.  I
  64. have also provided C code that implements the interpreters for these
  65. languages, and some pseudocode that shows how it can be used to
  66. operate the NAPTR resolution process.  The syntax of the languages is
  67. terse and ugly but really easy to implement and at bottom very simple.
  68. The syntax can probably be cleaned up significantly...
  69.  
  70. In total, I think this modification requires little in the way of
  71. modification to the server side of the existing NAPTR code, but it
  72. does modify the client significantly.  The C code provided should be
  73. pretty portable and has even been tested to a degree... All of this
  74. can be found at
  75.  
  76.    http://ana-www.lcs.mit.edu/people/girod/translator.c  (~40K)
  77.  
  78. I am curious to see what you think.  
  79.  
  80. * I think that this addresses a major design flaw of the original
  81. NAPTR system.  Do you?  Are the rewrite rules a flaw or a feature?  If
  82. they are a flaw does this address that flaw?
  83.  
  84. * Can this two-step process handle everything we want it to handle?
  85. If not, are there modifications to the languages that will enable it
  86. to do so?  (In general, we can increase the complexity of the
  87. translation language as needed, but that makes it harder to implement
  88. and inreases the probability of bugs or loops)
  89.  
  90. * It is already clear that there are some name schemes that cannot be
  91. efficiently resolved by this new scheme and will need to be escaped
  92. (just as some cannot be conveniently handled by NAPTR).  To what
  93. degree is it necessary to add flexibility beyond what is required to
  94. grandfather in existing namespaces?  How much flexiblity is needed
  95. beyond what is provided by this system, and how much more does the
  96. original NAPTR proposal provide?
  97.  
  98.     - Lewis Girod
  99.         
  100.          (girod@lcs.mit.edu)